clc,clear;
% 读取Excel文件数据
filename = 'datanew.xlsx';
data = readtable(filename);

% 获取所有列的名称
col = data.Properties.VariableNames;

% 循环处理每一列数据
for i = 1:length(col)
    colname = col{i};
    
    % 获取当前列数据
    coldata = data.(colname);
    
    % 如果数据是单元格数组，需要将其转换为数值型数组
    if iscell(coldata)
        % 将'--'替换为 NaN
        coldata(strcmp(coldata, '--')) = {NaN};
        
        % 将单元格数组转换为数值数组
        coldata = cellfun(@str2double, coldata);
    end
    
    % 线性插值填补缺失值
    colinter = fillmissing(coldata, 'linear');
    
    % 将补充后的数据直接赋值回原表格
    data.(colname) = colinter;
end

% 保存补充后的数据到新的Excel文件
writetable(data, 'newdata.xlsx');

